home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 164
/
164.d81
/
long lines.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
2KB
|
105 lines
1 out
1000 ;***************************
1010 ;* long lines v2.0 *
1020 ;* by rick nash 9/17/86 *
1030 ;* *
1040 ;* enables up to 4 screen *
1050 ;* lines to be used to *
1060 ;* enter or edit 1 prog *
1070 ;* line. sys49152 to exec *
1080 ;***************************
1090 ;
1100 ;
1110 *=$c000 ;org 49152
1120 ;
1130 ptr1 = $fb
1140 ptr2 = $fd
1150 insert = $a52a
1160 inlin = $a560
1170 print1 = $aaca
1180 patch1 = $c0c0
1190 patch2 = patch1+22
1200 ;
1210 ; move basic and kernal to ram
1220 ;
1230 lda #$00
1240 tay
1250 sta ptr1
1260 sta ptr2
1270 ldx #$a0
1280 stx ptr1+1
1290 ldx #$e0
1300 l1 stx ptr2+1
1310 l2 lda (ptr1),y
1320 sta (ptr1),y
1330 lda (ptr2),y
1340 sta (ptr2),y
1350 iny
1360 bne l2
1370 inc ptr1+1
1380 ldx ptr2+1
1390 inx
1400 bne l1
1410 ;
1420 ; bank out rom chips
1430 ;
1440 lda $01
1450 and #%11111101
1460 sta $01
1470 ;
1480 ; prepare new subroutines
1490 ;
1500 ldx #21
1510 l3 lda inlin,x
1520 sta patch1,x
1530 dex
1540 bpl l3
1550 ldx #29
1560 l4 lda print1,x
1570 sta patch2,x
1580 dex
1590 bpl l4
1600 ;
1610 ; make patches to operating system
1620 ;
1630 ldx #$00
1640 ldy #$00
1650 l5 lda lotab,x
1660 beq done
1670 sta ptr1
1680 lda hitab,x
1690 sta ptr1+1
1700 lda pchtab,x
1710 sta (ptr1),y
1720 inx
1730 bne l5
1740 done rts
1750 ;
1760 ; patch for 'insert line' routine
1770 ;
1780 patch3 lda $5f
1790 bne l6
1800 dec $60
1810 l6 dec $5f
1820 ldy $0b
1830 l7 lda $c0fb,y
1840 sta ($5f),y
1850 dey
1860 bne l7
1870 jmp insert
1880 ;
1890 ; patch address and data tables
1900 ;
1910 lotab byt $cb,$da,$de,$84,$ba,$cd,$d0,$e7
1920 byt $f1,$06,$0b,$f5,$13,$16,$ce,$1f
1930 byt $20,$21,$84,$85,$fd,$fc,$a2,$b4
1940 byt $c2,$ff,$8a,$a4,0
1950 hitab byt $c0,$c0,$c0,$a5,$a5,$a5,$a5,$a5
1960 byt $a5,$a6,$a6,$a4,$a5,$a5,$c0,$a5
1970 byt $a5,$a5,$a4,$a4,$c0,$c0,$e8,$e8
1980 byt $e6,$e7,$e1,$e1
1990 pchtab byt $c1,$c1,$c0,$c1,$c1,$c0,$c0,$c1
2000 byt $c0,$c1,$c0,$c1,$c0,$c0,$b0,$4c
2010 byt <patch3,>patch3,<patch1,>patch1,$01,$01,$04,$04
2020 byt $9f,$9f,$c1,$c1